Data compression allows more efficient use of storage media and communication bandwidth. Adding compression technology may help lower the cost of a storage system, without changing the application layer or other higher layer data access methods. Typical compression offerings for tape storage have been available for several years. More recently, there has been a desire to extend these cost and performance benefits to higher data rate media such as magnetic rotating disk storage. The addition of compression capability to a disk subsystem may help make more efficient use of resources such as cache, data path bandwidth, and disk capacity in a manner that is transparent to the higher layer which seeks to have its data stored. If the data are compressed as they enter the storage subsystem, cache resources in the subsystem may be more efficiently used.
However, the compression and decompression of data performed between the host or processor of a system and its storage units reduces read and write performance. To alleviate this performance penalty, dedicated high performance compression chips may be developed that respond quickly and provide relatively high throughput. Although such a solution may be appropriate for a system in which the host is in a mainframe computer or engineering work station, it is prohibitively expensive for lower cost, personal computer (PC) and server systems such as those based on the IA32 instruction set architecture and computing platform by Intel Corp. of Santa Clara, Calif.